/**
 * 
 */
package com.lanswon.qzsmk.service.systemManageService;

import java.util.List;

import com.lanswon.qzsmk.base.DwzPage;
import com.lanswon.qzsmk.exception.ApplicationException;
import com.lanswon.qzsmk.model.Role;
import com.lanswon.qzsmk.model.RolePrivilege;
import com.lanswon.qzsmk.vo.QueryRoleVo;
import com.lanswon.qzsmk.vo.UserRoleVo;

/**
 * @author sun
 *
 */
public interface RoleManageService {

	/**
	 * 添加角色
	 * @param r
	 */
	void addRole(Role r)  throws ApplicationException;
	
	/**
	 * 删除角色
	 * @param r
	 */
	void deleteRoles(List<Integer> roleIds) throws Exception;
	
	/**
	 * 查询角色
	 * @return
	 */
	DwzPage<Role> queryRole(QueryRoleVo qrv);
	
	/**
	 * 设置人员
	 * @param userId 用户id
	 * @param systermId 系统id
	 * @param roleId 角色 id
	 * @param isAdd 添加：0    取消：1
	 */
	void addUser(Integer userNo ,Integer systermId,Integer roleId,String isAdd);
	
	/**
	 * 显示已设置的用户和未设置的用户
	 * @param roleId 角色id
	 * @return
	 * @throws Exception
	 */
	DwzPage<UserRoleVo> showUsers(UserRoleVo vo)throws Exception;
	
	/**
	 * 通过角色Id查询
	 * @param roleId
	 * @return
	 */
	Role queryRoleById(Integer roleId);
		
	/**
	 * 保存批量
	 * @param list
	 */
    void batchInsert(List<RolePrivilege> list);

	
}
